import axios from "axios";
import API from "./constants";

// console.log(API.METHODS)

//带配置项的axios实例
const instance = axios.create({
  baseURL: 'https://api.it120.cc/small4',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  //弹起loading控件
  //拦截请求config配置 动态添加或者删除配置
  return config;
}, function (error) {
  // 对请求错误做些什么
  //提示用户请求发送失败原因  
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  //对自身服务器响应的状态码进行处理
  //收起loading控件
  //对响应数据做初步处理
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export function request(method,url,params){
  switch(method){
    case API.METHODS.GET:
      return get(url,params)
    case API.METHODS.POST:
      return post(url,params)
  }
}

function get(url,params){
  return instance.get(url,params)
}

function post(url,params){
  return instance.post(url,params)
}



